graph BT
sq1[thread 1] --> ci(memory address)
sq2[thread 2] --> ci(memory address)
Overview
🔬 ⌨️ 🧬
Participant Presentations
You should have experience with…
Also: you need an account on the BIH HPC 🔑
Advantages
Drawbacks
There is no free lunch!
“Blitzlicht” 📸
So far
From here on
⚠️ “Warning”: just a quick and superficial overview ;-)
aka. “There is no silver bullet”.
Steps to mastery:
aka. “There is no silver bullet”.
Steps to mastery:
aka. “There is no silver bullet”.
Steps to mastery:
Single-core level (no focus here)
Programming level
⚠️ “Warning”: just a quick and superficial overview ;-)
“Same-same (as your laptop), but different.”
More differences from “consumer-grade” hardware:
You are not the admin
no root/admin access, no sudo
Shared Memory
graph BT
sq1[thread 1] --> ci(memory address)
sq2[thread 2] --> ci(memory address)
Distributed Memory
graph LR
sq1[thread 1] -->|How are you?| sq2[thread 2]
sq2[thread 2] -->|- fine, thank!| sq1[thread 1]
“Blitzlicht” 📸
ls“Same-same (as your laptop), but different.”
sync() → visible everywheremkdir/open() → visible everywhereBest Practices / Do’s & Don’ts
abcdef → ab/cdefls -lR will be slow!Best Practices / Do’s & Don’ts
for each line/record in file: # do worksortseqtk mergepe R1.fq R2.fq | bwa mem ref.fa | samtools sort | samtools view -O out.bamBest Practices / Do’s & Don’ts
sequenceDiagram
autonumber
User-)+Scheduler: sbatch $resource_args jobscript.sh
Scheduler->>+Scheduler: add job to queue
User-)+Scheduler: squeue / scontrol show job
Scheduler-->>+User: job status
Note right of Scheduler: scheduler loop
Scheduler-)Compute Node: start job
Compute Node->>Compute Node: execute job
Compute Node-)+Scheduler: job complete
We should make sure that you have access to the HPC system…
… but all for the first session
Recap
Course description: “where participants can apply their learnings in the context of their PhD projects”
How this applies to this session:
Please spend the rest of the day setting up or learning about …
tmux (or screen)
git
nano
vim